<?php

class HomeController extends BaseController {

    //Phuong thuc hien thi khung dang nhap
    public function index() {
        return View::make('modules.login')
                        ->with("title", "Đăng nhập hệ thống");
    }

    //Phuong thuc hien thi khung doi mat khau
    public function getChangePassword() {
        return View::make('profiles.index')
                        ->with("title", "Đổi mật khẩu");
    }
    
    //Phuong thuc hien thi thay doi cau hinh
    public function getCauHinh() {
        return View::make('profiles.tuychon')
                        ->with("title", "Cấu hình hệ thống");
    }
    
    //Phuong thuc hien thi export
    public function getExport() {
        return View::make('tools.export')
                        ->with("title", "Export dữ liệu");
    }

    //Phuong thuc xu ly dang xuat
    public function getLogout() {
        Auth::logout();
        return Redirect::to('login')
                        ->with('success', 'Bạn đã đăng xuất thành công!');
    }

    //Phuong thuc xu ly dang nhap
    public function postLogin() {
        $data = array(
            "username" => Input::get("tai_khoan"),
            "password" => Input::get("mat_khau")
        );
        $auth = new NguoiDung();
        if ($auth->Authenticate($data)) {
            if (Auth::attempt($data)) {
                return Redirect::to('/')
                                ->with('success', 'Đăng nhập hệ thống thành công!');
            }
            return Redirect::to('login')
                            ->withInput()
                            ->with('error', 'Mật khẩu không chính xác!');
        }
        return Redirect::to('login')
                        ->withInput()
                        ->with('error', 'Tài khoản hoặc mật khẩu không chính xác!');
    }

    //Phuong thuc xu ly doi mat khau
    public function postChangePassword() {
        $user = new NguoiDung();
        if ($user->validatechangepassword(Input::all())) {
            $oldpassword = Input::get('mat_khau');
            $newpassword = Input::get('mat_khau_moi');
            $repassword = Input::get('xn_mat_khau_moi');
            if ($newpassword === $repassword) {
                if ($oldpassword !== $newpassword) {
                    $hash = Auth::user()->password;
                    if (crypt($oldpassword, $hash) === $hash) {
                        $user->changePassword($newpassword);
                        return Redirect::to('ql=doimatkhau')
                                        ->with('success', 'Đổi mật khẩu thành công!');
                    }
                    return Redirect::to('ql=doimatkhau')
                                    ->withInput()
                                    ->with('error', 'Bạn đã nhập sai mật khẩu');
                }
                return Redirect::to('ql=doimatkhau')
                                ->withInput()
                                ->with('warning', 'Mật khẩu cũ và mật khẩu mới trùng nhau!');
            }
            return Redirect::to('ql=doimatkhau')
                            ->withInput()
                            ->with('error', 'Mật khẩu mới và xác nhận mật khẩu không trùng nhau!');
        }
        return Redirect::to('ql=doimatkhau')
                        ->withInput()
                        ->with('error', 'Dữ liệu nhập vào không đúng định dạng!');
    }

}
